string.h
হেডার ফাইল এবং এর ফাংশনসমূহstring.h
হেডার ফাইলটি সি প্রোগ্রামিং ভাষায় স্ট্রিং ম্যানিপুলেশন (String Manipulation) বা স্ট্রিং পরিচালনার জন্য ব্যবহৃত হয়। এটি বিভিন্ন ধরনের ফাংশন সরবরাহ করে, যা স্ট্রিং কপি করা, তুলনা করা, স্ট্রিংয়ের দৈর্ঘ্য নির্ধারণ, স্ট্রিং একত্রিত করা এবং অন্যান্য স্ট্রিং সংক্রান্ত কাজ সহজ করে তোলে। এখানে string.h
হেডার ফাইলের কিছু গুরুত্বপূর্ণ ফাংশনের বিবরণ দেওয়া হলো।
strlen()
– স্ট্রিংয়ের দৈর্ঘ্য নির্ণয়strlen()
ফাংশনটি একটি স্ট্রিংয়ের দৈর্ঘ্য নির্ণয় করতে ব্যবহৃত হয়। এটি স্ট্রিংয়ের মোট ক্যারেক্টারের সংখ্যা রিটার্ন করে (null চরিত্র ছাড়া)।
size_t strlen(const char *str);
#include <stdio.h>
#include <string.h>
int main() {
char text[] = "Hello, World!";
printf("Length of text: %zu\n", strlen(text)); // %zu স্ট্যান্ডার্ড আউটপুট ফরম্যাট size_t-এর জন্য
return 0;
}
strcpy()
– স্ট্রিং কপি করাstrcpy()
ফাংশনটি একটি স্ট্রিংকে অন্য স্ট্রিংয়ে কপি করতে ব্যবহৃত হয়। এটি সোর্স স্ট্রিং থেকে ডেস্টিনেশন স্ট্রিংয়ে কপি করে।
char *strcpy(char *dest, const char *src);
#include <stdio.h>
#include <string.h>
int main() {
char src[] = "Hello";
char dest[20];
strcpy(dest, src);
printf("Copied string: %s\n", dest);
return 0;
}
strncpy()
– নির্দিষ্ট সংখ্যক ক্যারেক্টার কপি করাstrncpy()
ফাংশনটি সোর্স স্ট্রিং থেকে নির্দিষ্ট সংখ্যক ক্যারেক্টার ডেস্টিনেশন স্ট্রিংয়ে কপি করে। এটি স্ট্রিং কপি করার সময় কপি করার ক্যারেক্টারের সংখ্যা নির্ধারণের সুযোগ দেয়।
char *strncpy(char *dest, const char *src, size_t n);
#include <stdio.h>
#include <string.h>
int main() {
char src[] = "Hello, World!";
char dest[20];
strncpy(dest, src, 5);
dest[5] = '\0'; // Null character যোগ করা, কারণ strncpy() সবসময় null যোগ করে না
printf("Copied string: %s\n", dest);
return 0;
}
strcmp()
– দুটি স্ট্রিং তুলনা করাstrcmp()
ফাংশনটি দুটি স্ট্রিং তুলনা করার জন্য ব্যবহৃত হয়। যদি স্ট্রিংগুলো সমান হয়, তাহলে এটি ০ রিটার্ন করে। যদি তারা সমান না হয়, তবে এটি একটি ধনাত্মক বা ঋণাত্মক মান রিটার্ন করে।
int strcmp(const char *str1, const char *str2);
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello";
char str2[] = "World";
if (strcmp(str1, str2) == 0) {
printf("Strings are equal\n");
} else {
printf("Strings are not equal\n");
}
return 0;
}
strncmp()
– নির্দিষ্ট সংখ্যক ক্যারেক্টার তুলনা করাstrncmp()
ফাংশনটি দুটি স্ট্রিংয়ের নির্দিষ্ট সংখ্যক ক্যারেক্টার তুলনা করার জন্য ব্যবহৃত হয়। এটি প্রথম n
সংখ্যক ক্যারেক্টার তুলনা করে এবং তারপরে রিটার্ন করে।
int strncmp(const char *str1, const char *str2, size_t n);
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello";
char str2[] = "Helium";
if (strncmp(str1, str2, 3) == 0) {
printf("First three characters are equal\n");
} else {
printf("First three characters are not equal\n");
}
return 0;
}
strcat()
– দুটি স্ট্রিং একত্রিত করাstrcat()
ফাংশনটি দুটি স্ট্রিংকে একত্রিত করতে ব্যবহৃত হয়। এটি সোর্স স্ট্রিংকে ডেস্টিনেশন স্ট্রিংয়ের শেষে যোগ করে।
char *strcat(char *dest, const char *src);
#include <stdio.h>
#include <string.h>
int main() {
char str1[20] = "Hello";
char str2[] = ", World!";
strcat(str1, str2);
printf("Concatenated string: %s\n", str1);
return 0;
}
strncat()
– নির্দিষ্ট সংখ্যক ক্যারেক্টার যোগ করাstrncat()
ফাংশনটি সোর্স স্ট্রিং থেকে নির্দিষ্ট সংখ্যক ক্যারেক্টার ডেস্টিনেশন স্ট্রিংয়ের শেষে যোগ করে।
char *strncat(char *dest, const char *src, size_t n);
#include <stdio.h>
#include <string.h>
int main() {
char str1[20] = "Hello";
char str2[] = "World";
strncat(str1, str2, 3); // "World" এর প্রথম 3 ক্যারেক্টার যোগ হবে
printf("Concatenated string: %s\n", str1);
return 0;
}
strchr()
– স্ট্রিংয়ের মধ্যে নির্দিষ্ট ক্যারেক্টার খুঁজে বের করাstrchr()
ফাংশনটি স্ট্রিংয়ের মধ্যে একটি নির্দিষ্ট ক্যারেক্টারের প্রথম অবস্থান খুঁজে বের করে এবং সেই অবস্থানে একটি পয়েন্টার রিটার্ন করে।
char *strchr(const char *str, int character);
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, World!";
char *pos = strchr(str, 'W');
if (pos != NULL) {
printf("Character found at position: %ld\n", pos - str);
} else {
printf("Character not found.\n");
}
return 0;
}
strstr()
– সাবস্ট্রিং খুঁজে বের করাstrstr()
ফাংশনটি স্ট্রিংয়ের মধ্যে একটি সাবস্ট্রিং খুঁজে বের করে এবং সেই সাবস্ট্রিংয়ের শুরুতে একটি পয়েন্টার রিটার্ন করে।
char *strstr(const char *str, const char *substr);
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, World!";
char *pos = strstr(str, "World");
if (pos != NULL) {
printf("Substring found at position: %ld\n", pos - str);
} else {
printf("Substring not found.\n");
}
return 0;
}
strdup()
– স্ট্রিং ডুপ্লিকেট করা (নতুন কপি তৈরি করা)strdup()
ফাংশনটি একটি স্ট্রিংয়ের নতুন কপি তৈরি করে এবং সেই কপি করা স্ট্রিংয়ের পয়েন্টার রিটার্ন করে। এটি ডাইনামিক মেমোরি বরাদ্দ করে স্ট্রিংয়ের কপি তৈরি করে, যা free()
ব্যবহার করে মুক্ত করতে হয়।
char *strdup(const char *str);
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main() {
char str[] = "Hello, World!";
char *copy = strdup(str);
if (copy != NULL) {
printf("Copied string: %s\n", copy);
free(copy); // ডাইনামিক মেমোরি মুক্ত করা
}
return 0;
}
ফাংশন | কাজ | উদাহরণ |
---|---|---|
strlen() | স্ট্রিংয়ের দৈর্ঘ্য নির্ণয় | strlen(str); |
strcpy() | স্ট্রিং কপি করা | strcpy(dest, src); |
strncpy() | নির্দিষ্ট সংখ্যক ক্যারেক্টার কপি করা | strncpy(dest, src, n); |
strcmp() | দুটি স্ট্রিং তুলনা করা | strcmp(str1, str2); |
strncmp() | নির্দিষ্ট সংখ্যক ক্যারেক্টার তুলনা | strncmp(str1, str2, n); |
strcat() | দুটি স্ট্রিং একত্রিত করা | strcat(dest, src); |
strncat() | নির্দিষ্ট সংখ্যক ক্যারেক্টার যোগ করা | strncat(dest, src, n); |
strchr() | স্ট্রিংয়ের মধ্যে ক্যারেক্টার খুঁজে বের করা | strchr(str, 'a'); |
strstr() | স্ট্রিংয়ের মধ্যে সাবস্ট্রিং খুঁজে বের করা | strstr(str, "word"); |
strdup() | স্ট্রিংয়ের কপি তৈরি করা | char *copy = strdup(str); |
string.h
হেডার ফাইলটি সি প্রোগ্রামিংয়ে স্ট্রিং ম্যানিপুলেশনের জন্য অপরিহার্য। এর মাধ্যমে প্রোগ্রামাররা সহজেই স্ট্রিং কপি, তুলনা, একত্রিতকরণ এবং অনুসন্ধান করতে পারেন।
common.read_more